<%@ page contentType="text/html;charset=UTF-8"%>
<%@include file="/common/head.jsp" %>
<%@page import="org.apache.commons.lang.StringEscapeUtils"%>

<!DOCTYPE html>
<html>
<head>
<title>文件预览</title>

<%-- <script src="${ctx}/js/jquery.min.js" type="text/javascript"></script> --%>
<%@ include file="/common/jqGridHead.jsp"%>
<script src="${ctx}/js/flexpaper.js" type="text/javascript"></script>
<style type="text/css">

#myModalLabel{
	color:red;
}
</style>
</head>
<body>
<%
String fileName = StringEscapeUtils.escapeJavaScript(
StringEscapeUtils.escapeHtml(request.getParameter("fileName")));
String swfPath = StringEscapeUtils.escapeJavaScript(
StringEscapeUtils.escapeHtml(request.getParameter("swfPath")));

// String doubleOwasp = ESAPI.encoder().encodeForJavaScript(
// ESAPI.encoder().encodeForHTML(request.getParameter("fileName")));
%>
<div id="documentViewer" style="height:100%;width:60%;margin-left:20%;" ></div>
<!-- 模态框（Modal） -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
	<div class="modal-dialog">
		<div class="modal-content">
			<div class="modal-header">
				<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
					&times;
				</button>
				<h4 class="modal-title" id="myModalLabel">
					错误提示
				</h4>
			</div>
			<div class="modal-body" id="modal-body">
			</div>
			<div class="modal-footer">
				<button type="button" class="btn btn-default" data-dismiss="close">关闭
				</button>
			</div>
		</div><!-- /.modal-content -->
	</div><!-- /.modal -->
</div>
<script type="text/javascript">
$(document).ready(function(){
	checkFile();
	$('#myModal').on('hide.bs.modal', function() {
		window.close();
	});
});

function checkFile(){
// 	var swfPath = getQueryString("swfPath");
// 	var fileName = getQueryString("fileName");
	var fileName = '<%=fileName %>';
	var swfPath = '<%=swfPath %>';
	if(fileName.lastIndexOf(".")==-1||fileName.lastIndexOf(".")==(fileName.length-1)){
		//文件名称格式错误
		return errorShow("文件名称格式错误");
	}
	var type = fileName.substr(fileName.lastIndexOf(".")+1,fileName.length);
	if(type==null||type==''||type.length==0){
		return errorShow("文件名称格式错误");
	}else if(checkType(type)){
		console.log(fileName);
		return errorShow("<span style='color:red'>"+fileName+"</span><br/><br/>该格式文件不能直接预览,请下载之后用其他软件打开!");
	}
	if(swfPath==''){
		return errorShow("swfPath地址不能为空!");
	}
	if(!swfPath.endWith(".swf")){
		return errorShow("swfPath路径不是以swf结尾");
	}
	$.ajax({
		type : "POST",
		dataType : "json",
		url : "${ctx}/attachment/showPdf.do",
		async: false,
		data : {
			swfPath:swfPath 
		},
		success : function(data) {
        	if(data==true){
        		showSwf(swfPath);
        	}else{
        		errorShow('文件不存在或正在处理...');
        	}
		},
		error:function(data){
			
		}
	});
}

function checkType(type){
	type= type.toLowerCase();
	if(type!='swf'&&type!='ppt'&&type!='pptx'&&type!='doc'&&type!='docx'&&type!='xls'&&type!='xlsx'
			&&type!='txt'&&type!='pdf'&&type!='jpg'&&type!='bmp'&&type!='png'&&type!='tif'){
		return true
	}else{
		return false;
	}
}
function errorShow(errorInfo){
	$('#modal-body').html(errorInfo);  //填充错误信息
	$('#myModal').modal({
		keyboard : false,
		backdrop : 'static'
	})
}

function showSwf(swfPath){
$('#documentViewer').FlexPaperViewer(
            { config : {
//                 SWFFile : appConfig.contPath+'/docs/${path}',  //需要使用Flexpaper打开的文档
                SWFFile :'${scale}/swf/'+swfPath,  //需要使用Flexpaper打开的文档
                Scale : 2,   //	初始化缩放比例，参数值应该是大于零的整数
                ZoomTransition : 'easenone',
                ZoomTime : 0.5, //从一个缩放比例变为另外一个缩放比例需要花费的时间，该参数值应该为0或更大
                ZoomInterval : 0.2, //缩放比例之间间隔，默认值为0.1，该值为正数
                FitPageOnLoad : true, //初始化得时候自适应页面，与使用工具栏上的适应页面按钮同样的效果
                FitWidthOnLoad : true, //	初始化的时候自适应页面宽度，与工具栏上的适应宽度按钮同样的效果。
                FullScreenAsMaxWindow : true,
                ProgressiveLoading : true, //	当设置为true的时候，展示文档时不会加载完整个文档，而是逐步加载，但是需要将文档转化为9以上的flash版本（使用pdf2swf的时候使用-T 9 标签）。
                MinZoomSize : 0.2, //最小的缩放比例
                MaxZoomSize : 5,  //设置最大的缩放比例
                SearchMatchAll : true, //设置为true的时候，单击搜索所有符合条件的地方高亮显示
                InitViewMode : 'Portrait',
                RenderingOrder : 'flash',
                StartAtPage : '',

                ViewModeToolsVisible : true, //工具栏上是否显示样式选择框
                ZoomToolsVisible : true, //工具栏上是否显示缩放工具
                NavToolsVisible : true, //工具栏上是否显示导航工具
                CursorToolsVisible : true, //工具栏上是否显示光标工具
                SearchToolsVisible : true, //工具栏上是否显示搜索
                WMode : 'window',
                localeChain: 'zh_CN' //设置地区（语言），目前支持以下语言 en_US (English)  zh_CN (Chinese, Simple) 
            }}
    );
}		
</script>
</body>
</html>